Compressed image and video data is stored and transmitted in a standard format known as a compression stream. As is well-known in the art, MPEG (i.e., MPEG-1, MPEG-2, MPEG-4, H.264) compressed video and audio streams may be mapped to MPEG-2 Transport Streams as Elementary Streams (ES) packed into Packetized Elementary Transport (TS) packets. The PES packets contain a PES header which includes, among other things, a Presentation Time Stamp (PTS) and optionally a Decoding Time Stamp (DTS) (in the event the DTS is not present, the DTS is often considered to be equal to the PTS). Further, the MPEG-2 systems layer is responsible for the integration and synchronization of the elementary streams (ES): audio and video streams, as well as an unlimited number of data and control streams that can be used for various applications such as subtitles in multiple languages. This is accomplished by first packetizing the ESs thus forming the packetized elementary streams (PES). These PESs contain timestamps from a system clock for synchronization. The PESs are subsequently multiplexed to form a single output stream for transmission.
Existing methods for performing ad insertion utilize in band cue messages that are included in the broadcast video stream. The cue messages include information that identifies where in the video stream ad insertion points are located. That is, splice points are traditionally signaled in the MPEG-2 Transport Stream by means of STCE-35 cue messages. These messages contain the PTS value of the video frame that corresponds with the intended splice point. However, the process of encoding the broadcast video stream by the provider generally results in the insertion of new time stamps and the cue messages may be removed or selectively passed in the encoded output stream. As a result, the use of in band cue messages has required a high degree of cooperation from the encoded video stream provider (e.g. provider) and the party wishing to make use of the in band triggers. Accordingly, where the provider is unable or is otherwise unwilling to pass additional cue messages for reasons such as system compatibility issues with downstream devices, accurate insertion can be difficult or impossible to perform.